/*
 * @Description: 文件描述
 * @Author: 陈三愿
 * @Date: 2025-09-23 21:55:07
 * @LastEditTime: 2025-10-04 13:38:51
 */
/**
 * 认证配置
 */
export const AuthConfig = {
  // JWT密钥
  jwtSecret: process.env.JWT_SECRET || 'your-secret-key',

  // 访问令牌过期时间（单位：秒）
  expiresIn: 3600, // 1小时

  // 刷新令牌过期时间（单位：秒）
  refreshExpiresIn: 604800, // 7天

  // 刷新令牌Cookie配置
  refreshTokenCookie: {
    name: 'refresh_token',
    httpOnly: true,
    secure: false, // TODO: 本地开发禁用 HTTPS 限制
    sameSite: 'lax' as const, // TODO: 允许跨站点请求携带 Cookie
    maxAge: 604800000, // 7天（毫秒）
  },

  // API白名单路径（不需要token验证的路径）
  whiteList: [
    // 公共API
    '/api/users/login',
    '/api/users/register',
    '/api/users/refresh-token',
    '/api/health',
    '/api/refresh-token',

    // Swagger文档
    '/api-docs',
    '/api-docs-json',

    // 静态资源
    '/public',

    // 测试路径
    '/test',
  ],

  // 是否检查IP（可选增强安全性）
  checkIp: false,

  // 是否在开发环境禁用验证
  disableInDevelopment: false,
};
